package Chapter14.Homework;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * @author 杨森
 * @date 2022年10月28日 21:03
 *
 * 使用ArrayList 完成对 对象 Car {name, price} 的各种操作
 * 1.add:添加单个元素
 * 2.remove:删除指定元素
 * 3.contains:查找元素是否存在
 * 4.size:获取元素个数
 * 5.isEmpty:判断是否为空
 * 6.clear:清空
 * 7.addAll:添加多个元素
 * 8.containsAll:查找多个元素是否都存在
 * 9.removeAll：删除多个元素
 * 使用增强for和 迭代器来遍历所有的car , 需要重写 Car 的toString方法
 */
public class Homework02 {
    public static void main(String[] args) {
        ArrayList arraylist = new ArrayList();
        arraylist.add(new Car("宝马",400000));
        arraylist.add(new Car("奔驰", 600000));
        arraylist.add(new Car("法拉利",800000));
        System.out.println(arraylist);

        arraylist.remove("奔驰");

        arraylist.contains("宝马");

        System.out.println(arraylist.size());

        System.out.println(arraylist.isEmpty());


//* 使用增强for和 迭代器来遍历所有的car , 需要重写 Car 的toString方法
        for (Object o : arraylist) {
            System.out.println(o);
        }
        System.out.println("===迭代器===");
        Iterator iterator = arraylist.iterator();
        while (iterator.hasNext()) {
            Object next =  iterator.next();
            System.out.println(next);

        }

    }
}
class Car{
    private String name;
    private double price;

    public Car(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("Car{");
        sb.append("name='").append(name).append('\'');
        sb.append(", price=").append(price);
        sb.append('}');
        return sb.toString();
    }
}
